package com.sanploy.manage.service;


import com.sanploy.common.domain.Message;
import com.sanploy.common.domain.dto.MessageDto;
import com.sanploy.common.domain.dto.Pages;
import com.sanploy.common.domain.vo.Page;

/**
 * Created by zhu yingzhi on 2017/9/6.
 * @author yingzhi zhu
 * 消息逻辑处理接口
 */
public interface MessageService
{
    /**
     * 分页获取所有的接口
     * @param pages 分页实体类
     * @param isRead 是否读取
     * @return 消息分页接口
     */
    Page<Message> getAllMessage(Pages pages, boolean isRead);

    /**
     * 获取已读或者未读的消息条数
     * @param isRead 是否读取
     * @return 消息条数
     */
    int countMessage(boolean isRead);

    /**
     * 添加消息
     * @param message 消息DTO
     * @return 数据库影响行数
     */
    int addMessage(MessageDto message);

    /**
     * 通过消息id 查找消息
     * @param id 消息id
     * @return 消息实体类
     */
    Message findById(Long id);

    /**
     * 批量设置消息为已读
     * @param idArr 消息id数组
     * @return 是否修改成功
     */
    int setIsReadMsg(String[] idArr);


    /**
     * 新消息接口
     * @return 消息文本
     */
    String newMessage();
}
